home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / fortran-to-c-translator-11 / Mac F2C 1.1 / Mac F2C v1.1 READ ME < prev   
Text File  |  1995-01-29  |  17KB  |  387 lines

  1. ************************************************************
  2. ************************************************************
  3.  
  4.   Mac F2C  --  A FORTRAN-to-C translator for the Macintosh
  5.  
  6. ************************************************************
  7. ************************************************************
  8.  
  9. f2c kernel ©1989-1995 AT&T Bell Laboratories and Bellcore
  10. Macintosh Interface ©1994-1995 Igor Mikolic-Torreira
  11.  
  12. This software is freeware:  it may be used and copied freely so long as 
  13. the copyright notices and associated documentation remain attached.
  14.  
  15.  
  16.  
  17. CONTENTS
  18. *************************************************************
  19.  
  20.     A.  WHAT IS Mac F2C
  21.     
  22.     B.  WHAT IS NEW IN VERSION 1.1
  23.     
  24.     C.  WHAT IS INCLUDED AND HOW IS IT ORGANIZED
  25.     
  26.     D.  WHERE DO I GO FROM HERE…
  27.          
  28.     E.  CONTACTING THE AUTHOR 
  29.     
  30.     F.  CREDITS
  31.     
  32.     G.  LICENSE AND OTHER ANNOYING LEGAL STUFF
  33.  
  34.  
  35.  
  36. A.  WHAT IS Mac F2C
  37. *************************************************************
  38.  
  39. Mac F2C is a FORTRAN-to-C translator.  It will read a file of FORTRAN 
  40. code and produce a file of C code.  When compiled and linked with the 
  41. special support libraries included with Mac F2C, this C code will work 
  42. just like the original FORTRAN code.
  43.  
  44. Mac F2C is the Macintosh port of the UNIX program f2c developed at AT&T.  
  45. AT&T permits the use of the f2c source code for non-profit purposes.  You 
  46. can get a copy of the f2c source code at netlib.att.com
  47.  
  48. The minimum requirements to run Mac F2C are:
  49.  
  50.     (1) A 68020 or better
  51.  
  52.     (2) System 7.0 or later
  53.  
  54.     (3) At least 1 MB of available RAM (2 MB is preferred)
  55.     
  56.  
  57.  
  58.  
  59. B.  WHAT IS NEW IN VERSION 1.1
  60. *************************************************************
  61.  
  62. Version 1.1 has the following new features:
  63.  
  64.     - CodeWarrior compatible.  The Mac F2C support libraries now 
  65.       compile under CodeWarrior and CodeWarrior project/library 
  66.       files are included.  Example CodeWarrior projects are 
  67.       also included to illustrate how to use C code produced 
  68.       by Mac F2C with CodeWarrior.
  69.       
  70.     - Access to the more advanced '-N'-series f2c options 
  71.       (e.g., '-Nx', '-Nn', and similar options).
  72.       
  73.     - Can send Apple Events to THINK and CodeWarrior telling them 
  74.       that files have changed and/or telling them to do a 'Make'. 
  75.       
  76.     - Allows you to enter UNIX-style option switches that Mac F2C 
  77.       passes directly to the f2c kernel.
  78.       
  79.     - Revised and expanded Apple Event suite includes a new event 
  80.       that accepts a string of UNIX-style option switches.
  81.       
  82.     - Updates the f2c kernel to AT&T's version of 13 November 1994.
  83.  
  84.     - A more thorough test program is included.
  85.     
  86.     - Support is provided for using Mac F2C output with C++ 
  87.       (vice C) compilers.
  88.       
  89. Version 1.1 also fixes the following bugs present in version 1.0:
  90.  
  91.     - Completely re-written preference file support eliminates a 
  92.       crash on some Macs running System 7.5.
  93.       
  94.     - Works around a bug in THINK's ANSI F2C support library that 
  95.       caused some transcendental functions to crash and/or return 
  96.       incorrect answers (THINK's ANSI library doesn't like to be 
  97.       compiled with the "Enums are always ints" option checked).
  98.       
  99.     - Eliminates situations where Mac F2C would quit out from under 
  100.       you when doing a drag&drop launch of Mac F2C.
  101.       
  102.     - Latest f2c kernel corrects several minor bugs in the 
  103.       translator itself.
  104.  
  105.  
  106. Users upgrading from previous versions of Mac F2C need to re-install ALL 
  107. libraries and project files, including main.c and f2c.h.  Both library 
  108. source code and the options settings in the various project files have 
  109. changed.  See the more detailed instructions provided in the documentation 
  110. folder for further information.
  111.  
  112.       
  113.       
  114.  
  115. C.  WHAT IS INCLUDED AND HOW IS IT ORGANIZED
  116. *************************************************************
  117.  
  118. The Mac F2C 1.1 distribution set contains the following items:
  119.  
  120. (1) "Mac F2C v1.1 READ ME" -- This Read Me message.
  121.  
  122. (2) "Mac F2C" -- the FORTRAN-to-C translator application, version 1.1.
  123.  
  124. (3) "Mac F2C Documentation" -- a folder containing all relevant 
  125.     documentation for Mac F2C.  This folder contains:
  126.     
  127.       - "INSTRUCTIONS (THINK)"  -- instructions for using Mac F2C 
  128.          with Symantec's THINK C and C++ compilers.
  129.  
  130.       - "INSTRUCTIONS(CodeWarrior)" -- instructions for using Mac F2C
  131.          with MetroWerk's CodeWarrior C compiler.
  132.  
  133.       - "AT&T Report 149.ps" -- a postscript file containing the AT&T
  134.          report that serves as a compiler manual for Mac F2C.
  135.  
  136.       - "Mac F2C AppleEvents" -- a folder containing detailed information 
  137.          on how to drive Mac F2C using AppleEvents.
  138.  
  139.       - "Mac F2C & UNIX f2c" -- information on interchanging C code 
  140.          produced by Mac F2C on the Macintosh and the original f2c 
  141.          program on a UNIX machine.
  142.  
  143.       - "Mac F2C Known Bugs" -- summary of known bugs and suggestions
  144.          for working around them.
  145.  
  146.       - "When Mac F2C code won't run…" -- Things to check whenever the
  147.          code produced by Mac F2C doesn't run correctly.
  148.          
  149.       - "If Floats Don't Display Right" -- a folder discussing a common 
  150.          bug in float-to-ASCII conversion routines (including those 
  151.          provided in Symantec's and MetroWerks' C and C++ libraries).  
  152.          It includes some code you might be able to use to fix the 
  153.          problem.
  154.     
  155.       - "For THINK v6 and Earlier Users" -- instructions for setting up 
  156.          Mac F2C to work with earlier versions of Symantec's THINK 
  157.          compiler.  All the THINK project files included in this 
  158.          distribution have been made using THINK C version 7.0.4.  This 
  159.          file provides guidance on how to create equivalent project 
  160.          files using earlier versions of THINK C.  
  161.  
  162. (4) "Mac F2C Libraries" -- a folder containing the libraries required to 
  163.     support programs translated by F2C.  The libF77 library provides 
  164.     floating-point support; the libI77 library provides integer and I/O
  165.     support.  Both THINK and CodeWarrior project and library files are 
  166.     provided, along with all the source code.  These need to be installed 
  167.     in the right places and re-built.  Please read the appropriate 
  168.     version of the INSTRUCTIONS file for a detailed, step-by-step 
  169.     description of what to do with these files.
  170.     
  171. (5) "Test Project ƒ" --  a folder containing a test FORTRAN program and 
  172.     the C output produced by Mac F2C.  It also contains complete THINK 
  173.     and CodeWarrior projects to compile and run the test program.  See 
  174.     the appropriate version of the INSTRUCTIONS file for a detailed 
  175.     description of how to use the contents of this folder to verify 
  176.     correct operation of Mac F2C.
  177.  
  178. (6) "THINK Specific Stuff" -- a folder containing items specifically
  179.     required to use Mac F2C with Symantec's THINK C compiler.  This folder 
  180.     contains the following items:
  181.   
  182.       - "For 'Standard Libraries'" -- a folder containing versions of the 
  183.          ANSI, unix, IOStreams, and CPlusLib project files distributed with 
  184.          THINK C/C++ that have been modified to work with Mac F2C output.  
  185.          These libraries should be placed in the appropriate location and 
  186.          brought up to date.  Please refer to the file "INSTRUCTIONS 
  187.          (THINK)" for detailed information.
  188.  
  189.       - "Build F2C Libraries" -- an AppleScript for bringing all the THINK 
  190.          versions of the Mac F2C support libraries up to date.  Please 
  191.          refer to the file  "INSTRUCTIONS (THINK)" for detailed information 
  192.          on how to use this script.
  193.  
  194.       - "For '(Project Models)'" -- a folder containing model Mac F2C 
  195.          THINK C and C++ projects. Please refer to the file "INSTRUCTIONS 
  196.          (THINK)" for detailed information on how to use the contents of 
  197.          this folder.
  198.     
  199. (7) "CodeWarrior Specific Stuff" -- a folder containing items specifically 
  200.     required to use Mac F2C with MetroWerk's CodeWarrior C compiler.  This 
  201.     folder contains the following items:
  202.     
  203.       - "Empty Mac F2C 68K Project ƒ" -- a folder containing an empty Mac 
  204.         F2C CodeWarrior project for producing 68k code. Please refer to the 
  205.         file "INSTRUCTIONS (CodeWarrior)" for detailed information on how 
  206.         to use the contents of this folder.
  207.  
  208.       - "Empty Mac F2C PPC Project ƒ" -- a folder containing an empty Mac 
  209.         F2C CodeWarrior project for producing PowerPC code. Please refer 
  210.         to the file "INSTRUCTIONS (CodeWarrior)" for detailed information 
  211.         on how to use the contents of this folder.
  212.         
  213.       - "MPW/Toolserver Tools" -- a folder containing Toolserver tools 
  214.         for use with CodeWarrior.  Please refer to the file "Toolserver 
  215.         READ ME" contained in this folder for detailed information on how 
  216.         to use the contents of this folder.
  217.  
  218. (6) "AT&T Report 149.ps" -- a postscript file containing AT&T Computing 
  219.     Science Technical Report No. 149.  This report provides very detailed 
  220.     documentation on f2c, the UNIX program which is the core of 
  221.     Mac F2C.  Consider it your compiler and language reference manual.  
  222.     All users should print out and read this report.
  223.     
  224.  
  225.  
  226.          
  227. D.  WHERE DO I GO FROM HERE…
  228. *************************************************************
  229.  
  230. The next step is to read the set-up and use instructions.  You should read 
  231. either "INSTRUCTIONS (THINK)" or "INSTRUCTIONS (CodeWarrior)" depending on 
  232. which compiler you plan to use.  Mac F2C is _not_ ready to go out of the 
  233. box, so please read these instructions to see how to set up the support 
  234. libraries and use the C code produced by Mac F2C.  I also strongly 
  235. recommend using the included test program to verify correct operation of 
  236. Mac F2C and the support libraries.  Again, information on how to do 
  237. this is provided in the two INSTRUCTIONS files.
  238.  
  239. You should also look at the more detailed documentation on the 
  240. FORTRAN-to-C compiler itself.  The document "AT&T Report 149.ps" is a 
  241. PostScript file which you can download to any PostScript printer.  It will 
  242. produce a copy of "AT&T Computing Science Technical Report No. 149."  This 
  243. report provides very detailed documentation on f2c, the UNIX program which 
  244. is the translator at the core of Mac F2C.  Consider this report your 
  245. compiler and language reference manual.  I recommend all users 
  246. print out and read this report.
  247.         
  248. If you want to drive Mac F2C with AppleEvents, check out the folder "Mac 
  249. F2C Apple Events".  It contains detailed information on sending Apple 
  250. Events to Mac F2C.  It also includes some sample AppleScripts and header 
  251. files for use with your own code.
  252.  
  253. Additional useful information appears in the documents contained in the 
  254. folder "Mac F2C Documentation".  Before sending a bug report please glance 
  255. at "Mac F2C Known Bugs".  If you plan on moving code between a UNIX machine 
  256. and a Macintosh and/or will be mixing code translated by f2c on a UNIX 
  257. machine and Mac F2C on a Macintosh, please look at "Mac F2C & UNIX f2c".  
  258. If you have trouble getting the C code produced by Mac F2C to run 
  259. correctly, read "When Mac F2C code won't run…".  Finally, if floating point 
  260. values do not appear to round correctly when output, read the information 
  261. in the folder "If Floats Don't Display Right".
  262.         
  263.         
  264.  
  265. E.  CONTACTING THE AUTHOR
  266. *************************************************************
  267.  
  268. My name is Igor Mikolic-Torreira and I can be reached at 
  269. igormt@alumni.caltech.edu.  
  270.  
  271. If you find Mac F2C useful, please drop me a note.  If you really think it 
  272. is the most useful thing in the whole world and worth its weight in gold, 
  273. please donate that amount of gold to your favorite charity ;)
  274.  
  275. I have started to keep a mailing list which I will use to distribute Mac 
  276. F2C related information such as bug alerts, patches, and new versions.  If 
  277. you wish to be added to this mailing list, please send me an email 
  278. specifically requesting to be added to this list.  Also let me know if you 
  279. are interested in being a beta-tester for future versions of Mac F2C.
  280.  
  281. If you find any bugs or would like to request a particular feature, let me 
  282. know.  I will try to fix interface bugs or at least provide work-arounds 
  283. promptly.  I will forward compiler bugs to AT&T.  If you believe you have a 
  284. code generation bug, _please_ send me a sample of the FORTRAN code that 
  285. produces the problem together with the C output and your THINK or 
  286. CodeWarrior project file(s).  If you can create a minimal example, that's 
  287. even better and you will earn my eternal gratitude.  Before sending me a 
  288. bug report, please read "Mac F2C Known Bugs" as Mac F2C has some problems 
  289. that I am quite aware of.  If your translated programs compile without 
  290. errors but don't run, take a look at the file "When Mac F2C Code Won't 
  291. Run…" for information on the most common problem with translated code and 
  292. how to fix it.
  293.  
  294. You can send comments and questions on any part of the Mac F2C package to 
  295. me.  However, I forward most questions related to Mac F2C's CodeWarrior 
  296. support to Dirk Froehling (I don't have CodeWarrior).  Dirk contributed all 
  297. of the CodeWarrior support for this version of Mac F2C.  He has graciously 
  298. allowed me to distribute his email address.  If you wish, you can send 
  299. questions or comments on Mac F2C's CodeWarrior support directly to him at 
  300. dirk@gaga.maschinenbau.uni-dortmund.de.
  301.  
  302.  
  303.  
  304. F.  CREDITS
  305. *************************************************************
  306.  
  307. A lot of people have contributed to Mac F2C, either knowingly or 
  308. unknowingly.  Many thanks to....
  309.  
  310. AT&T and Bellcore for developing f2c and allowing others to make use of the 
  311. source code.  Mac F2C v1.1 incorporates the f2c version of 13 Nov 1994.
  312.  
  313. Jim Luther of Apple Macintosh Developer Technical Support for the 
  314. "MoreFiles" collection of FileManager Utilities.  Mac F2C incorporates 
  315. MoreFiles 1.2.1.  
  316.  
  317. Gary Woodcock of Apple Computer for the "StdPrefsLib" library of routines 
  318. to handle preferences and preference files.  Mac F2C incorporates version 
  319. 1.0 of the Standard Prefs Library (as distributed on the "develop 
  320. Bookmark" CD).
  321.  
  322. Jens Alfke of the AppleScript Team at Apple Computer for AEBuild and 
  323. related AppleEvent utilities.  Mac F2C incorporates his AEGizmos v1.3.4 
  324. package (this includes AEBuild, AEPrint and other goodies).  For anyone not 
  325. familiar with AEBuild, it is by far the easiest way to build AppleEvent 
  326. object descriptors.  Hours of frustration are replaced by a few lines of 
  327. easy to understand code.  If you don't have it, get it!
  328.  
  329. Dirk Froehling of Germany for figuring out how to make the support 
  330. libraries compile under CodeWarrior and for providing CodeWarrior project 
  331. files and libraries.  All of the CodeWarrior support in v1.1 is due to 
  332. Dirk (I unfortunately don't own a copy of CodeWarrior).  Dirk also 
  333. suggested many of the new features added since v1.0 -- including the 
  334. interaction (via AppleEvents) with THINK and CodeWarrior.
  335.  
  336. And last -- but certainly not least -- to my wife Beth for patiently 
  337. tolerating many late nights when I paid more attention to Mac F2C than I 
  338. did to her.
  339.  
  340.  
  341.  
  342. G.  LICENSE AND OTHER ANNOYING LEGAL STUFF
  343. *************************************************************
  344.  
  345. The compiler engine of Mac F2C is based on the unix version of f2c and is
  346. Copyright 1990, 1993, 1994, 1995 by AT&T Bell Laboratories and Bellcore.
  347.  
  348. Permission to use, copy, modify, and distribute this software and its 
  349. documentation for any purpose and without fee is hereby granted, provided 
  350. that the above copyright notice appear in all copies and that both that the 
  351. copyright notice and this permission notice and warranty disclaimer appear 
  352. in supporting documentation, and that the names of AT&T Bell Laboratories 
  353. or Bellcore or any of their entities not be used in advertising or 
  354. publicity pertaining to distribution of the software without specific, 
  355. written prior permission.
  356.  
  357. AT&T and Bellcore disclaim all warranties with regard to this software, 
  358. including all implied warranties of merchantability and fitness.  In no 
  359. event shall AT&T or Bellcore be liable for any special, indirect or 
  360. consequential damages or any damages whatsoever resulting from loss of use, 
  361. data or profits, whether in an action of contract, negligence or other 
  362. tortious action, arising out of or in connection with the use or 
  363. performance of this software.
  364.  
  365.  
  366. The Macintosh interface portion of Mac F2C was written and is
  367. Copyright 1994, 1995 by Igor Mikolic-Torreira.
  368.  
  369. Permission to use, copy, modify, and distribute this software and its 
  370. documentation for any purpose and without fee is hereby granted, provided 
  371. that the above copyright notice appear in all copies and that both that the 
  372. copyright notice and this permission notice and warranty disclaimer appear 
  373. in supporting documentation, and that the name of Igor Mikolic-Torreira not 
  374. be used in advertising or publicity pertaining to distribution of the 
  375. software without specific, written prior permission.
  376.  
  377. Igor Mikolic-Torreira disclaims all warranties with regard to this 
  378. software, including all implied warranties of merchantability and fitness.  
  379. In no event shall Igor Mikolic-Torreira be liable for any special, indirect 
  380. or consequential damages or any damages whatsoever resulting from loss of 
  381. use, data or profits, whether in an action of contract, negligence or other 
  382. tortious action, arising out of or in connection with the use or 
  383. performance of this software.
  384.  
  385.  
  386.  
  387.